Перейти к основному содержимому

Чек-лист самопроверки

Разработчику Архитектору

Чек-лист самопроверки

  1. Что такое Java и для каких задач он предназначен?
  2. Какие существуют издания Java (Java SE, EE, ME)?
  3. Что такое JVM, JRE и JDK — и чем они отличаются?
  4. Как происходит компиляция и выполнение Java-программы?
  5. Что такое байт-код и зачем он нужен?
  6. Как работает JIT-компиляция?
  7. Почему Java считается платформонезависимым языком?
  8. Какие есть типы данных в Java (примитивные и ссылочные)?
  9. В чём разница между int и Integer?
  10. Как работает автоматическая упаковка и распаковка (autoboxing/unboxing)?
  11. Что такое String, StringBuilder и StringBuffer — и когда что использовать?
  12. Как объявляются и инициализируются массивы?
  13. Что такое переменные экземпляра, локальные переменные и статические переменные?
  14. Как работают области видимости (public, private, protected, package-private)?
  15. Что такое конструктор и какие его виды бывают?
  16. Можно ли перегружать конструкторы и методы?
  17. Что такое this и как он используется?
  18. Что такое статические методы и поля?
  19. Как работает наследование в Java?
  20. Почему Java не поддерживает множественное наследование классов?
  21. Что такое интерфейсы и как они отличаются от абстрактных классов?
  22. Что изменилось в интерфейсах с Java 8 (дефолтные и статические методы)?
  23. Что такое полиморфизм и как он реализуется?
  24. Что такое инкапсуляция и как она обеспечивается?
  25. Что такое абстракция и как она выражается в коде?
  26. Что такое final и где он применяется?
  27. Как работают исключения в Java? Какие бывают типы?
  28. В чём разница между Error, Exception, RuntimeException?
  29. Как создаются собственные исключения?
  30. Что такое try-with-resources и зачем он нужен?
  31. Что такое generics и зачем они нужны?
  32. Как работают ограничения типов (extends, super)?
  33. Что такое List, Set, Map — и какие реализации существуют?
  34. В чём разница между ArrayList и LinkedList?
  35. Как работает HashMap под капотом?
  36. Что такое equals() и hashCode() — и почему их нужно переопределять вместе?
  37. Что такое лямбда-выражения и как они синтаксически записываются?
  38. Что такое функциональные интерфейсы (Function, Predicate, Consumer, Supplier)?
  39. Как работает Stream API?
  40. В чём разница между последовательными и параллельными потоками?
  41. Что такое Optional и как он помогает избежать NullPointerException?
  42. Как работают аннотации и какие встроенные аннотации есть?
  43. Что такое рефлексия и когда её стоит использовать?
  44. Как работает многопоточность в Java (Thread, Runnable, ExecutorService)?
  45. Что такое synchronized, volatile, ReentrantLock?
  46. Что такое CompletableFuture и как он упрощает асинхронное программирование?
  47. Как работает сборка мусора в JVM?
  48. Какие есть типы GC (Serial, Parallel, G1, ZGC)?
  49. Что такое модули в Java 9+ и как они объявляются?
  50. Какие современные возможности появились в Java 14–21 (record, sealed classes, pattern matching, var)?

Освоение главы0%